//
// Created by wangyg98 on 2025/3/30.
//

#ifndef TEYVATSURVIVOR_PLAYER_H
#define TEYVATSURVIVOR_PLAYER_H

#include <string>
#include "character.h"

class Player : public Character
{
public:
    Player(const std::string& path, int num, int interval);

    void ProcessEvent(const ExMessage& msg);

    void Move();

    void Draw(int delta);

    const POINT &getPlayerPos() const;

    const int getPlayerWidth() const;

    const int getPlayerHeight() const;

private:
    //玩家移动方向标识判断
    bool is_move_up = false;
    bool is_move_down = false;
    bool is_move_left = false;
    bool is_move_right = false;
    int dir_x;
    int dir_y;

    const int PLAYER_SPEED = 10; //玩家移动速度
    const int PLAYER_WIDTH = 80;

    //玩家宽度
    const int PLAYER_HEIGHT = 80;

    //玩家高度
    const int SHADOW_WIDTH = 32; //阴影宽度

    POINT player_pos = { 500, 500 }; //玩家位置

    IMAGE img_player_shadow;
};
#endif //TEYVATSURVIVOR_PLAYER_H
